<template>
  <sys-card :loading="loading">
    <sys-title-bar :title="title" :text="text" :add="add" :refresh="refresh" @add="emit('add')" @refresh="emit('refresh')" />
    <slot></slot>
  </sys-card>
</template>

<script setup lang="ts">
defineProps({
  /**
   * 组件加载状态
   */
  loading: Boolean,
  /**
   * 标题（必须填写）
   */
  title: { type: String, required: true },
  /**
   * 新增按钮的文本
   */
  text: { type: String, default: '新增' },
  /**
   * 是否显示添加按钮
   */
  add: { type: [Boolean, String], default: true },
  /**
   * 是否显示刷新按钮
   */
  refresh: { type: Boolean, default: true }
})

const emit = defineEmits(['add', 'refresh'])
</script>

<style lang="scss" scoped>
.mb {
  margin-bottom: 16px;
}
</style>
